#include<iostream>

template<typename T>
void Swap(T&a,T&b)
{
    T temp=a;
    a=b;
    b=temp;
}

struct Student
{

    int id;
    std::string name;
    bool operator>(const Student&s)
    {
        return id>s.id;
    }

};

// template<>
// void Swap<Student>(Student&s1,Student&s2)//模板具体化
// {
//     int temp=s1.id;
//     s1.id=s2.id;
//     s2.id=temp;
// }
template<typename T>
void Sort(T*a,int size)
{
    for (int i = 0; i < size; i++)
    {
        for(int j=0;j<size-i-1;j++)
        {
            if (a[j]>a[j+1])
            {
                Swap<T>(a[j],a[j+1]);
            }
            
        }
    }
}


int main()
{
    Student s[2]={{1,"zhangshan"},{2,"lisi"}};
    Sort(s,2);
    
}